package common;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 接口统一返回包装类
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Result {

    private String code; //返回成功与失败
    private String msg; //如果请求失败了原因是什么后端告诉前台
    private Object data; //后端可携带的数据

    public static Result success() {
        return new Result(Constants.CODE_200, "", null);
    }

    public static Result success(Object data) {return new Result(Constants.CODE_200, "", data);}

    public static Result error(String code, String msg) {
        return new Result(code, msg, null);
    }

    public static Result error(Throwable cause, String message) {
        return new Result(Constants.CODE_500, "系统错误", null);
    }

}